مشخصات پروژه
-
1663
-
0.0
-
8409
-
0
-
3
پروژه سی شارپ - مرورگر اینترنت
پروژه سی شارپ - مرورگر اینترنت
مرورگر اینترنت
در ابتدای اجرای برنامه 50 شیء از کلاس Webbrowser ساخته شده و در آرایه ای با نام browser قرار می گیرد:
private WebBrowser[] browser = new WebBrowser[50];
عملکرد این مرورگر بدین صورت است که با استفاده از کنترل TabControl به کاربر اجازه افزودن تب جدید را در صفحه می دهد و در هر تب یکی از خانه های آرایه browser را که در حقیقت شیءای از کلاس Webbrowser است، اضافه می کند.
وقتی کاربر از منو File گزینه افزودن تب جدید را انتخاب می کند برنامه وارد قطعه کد زیر می شود:
browser_index++;
TabPage newTabPage = new TabPage("Untitled");
browser[browser_index] = new WebBrowser();
browser[browser_index].Dock = DockStyle.Fill;
browser[browser_index].Navigate("www.google.com");
newTabPage.Controls.Add(browser[browser_index]);
this.tabControl.TabPages.Add(newTabPage);
this.tabControl.SelectTab(newTabPage);
کلاس Webbrowser دارای متدهای مختلفی است که مهمترین آن ها متد Navigate می باشد. این متد یک URL دریافت می کند و درخواستی به آن می فرستد و سپس پاسخ را که به زبان html است ترجمه کرده و قابل مشاهده برای کاربر می کند.
همزمان مقدار پیشرفت بارگذاری صفحه در ProgressBar پایین صفحه نشان داده می شود. برای این که این مقدار دقیق باشد، با هربار تغییر در میزان پیشرفت بارگذاری شیء browser[i] تابع تغییر در میزان پیشرفت ProgressBar باید فراخوانی شود:
browser[tabControl.SelectedIndex].ProgressChanged += new WebBrowserProgressChangedEventHandler(frmBrowser_ProgressChanged);
تابع frmBrowser_ProgressChangedبه صورت زیر است:
int current_progress = Convert.ToInt32(e.CurrentProgress);
int total_progress = Convert.ToInt32(e.MaximumProgress);
this.progressBar.Value = (current_progress / total_progress) * 100;
در این تابع میزان پیشرفت ProgressBar با تقسیم پیشرفت حال حاضر شیء Webbrowser بر مقدار کل عملیات بدست می آید. این اطلاعات مفید از آرگومن تغییر e بدست میآید.
